package org.cypress.rtpack.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.cypress.rtpack.entity.RtpackMoniip;

import java.util.List;

/**
 * @author getty
 */
public interface IRtpackMoniipService extends IService<RtpackMoniip> {
    RtpackMoniip getByIndex(Integer index);
    List<RtpackMoniip> getAll();

    /**
     * 根据key更新配置项
     * @param inst 要更新的配置项
     * @return 更新后的配置项
     */
    RtpackMoniip updateByIndex(RtpackMoniip inst);

    /**
     * 批量更新配置项列表
     * @param instList 要更新的配置项列表（必须包含有效key）
     * @return 更新成功的配置项列表
     * @throws IllegalArgumentException 如果列表为空或包含无效key
     */
    List<RtpackMoniip> batchUpdateByIndex(List<RtpackMoniip> instList);

    /**
     * 清空表数据
     */
    void truncateTable();

    /**
     * 物理删除所有记录（保留表结构）
     */
    int deleteAllRecords();

    /**
     * 批量插入数据
     * @param instList 要插入的数据列表
     * @return 插入后的数据列表（包含生成的ID等）
     */
    List<RtpackMoniip> batchInsert(List<RtpackMoniip> instList);
}
